package com.mhc.suzuki.dal.query;


import com.subaru.common.query.BaseCriteria;
import com.subaru.common.query.BaseQuery;
import org.apache.commons.lang.builder.ReflectionToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;

public class MobileAreaQuery extends BaseQuery implements Serializable {
    private static final long serialVersionUID = 1L;

    public MobileAreaQuery() {
        super();
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        super.oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    /**
     * This class corresponds to the database table pcl_mobile_area
     */
         protected abstract static class GeneratedCriteria extends BaseCriteria {

        protected GeneratedCriteria() {
            super();
        }

        public Criteria andMobileAreaIdIsNull() {
            addCriterion("mobile_area_id is null");
            return (Criteria) this;
        }

        public Criteria andMobileAreaIdIsNotNull() {
            addCriterion("mobile_area_id is not null");
            return (Criteria) this;
        }

        public Criteria andMobileAreaIdEqualTo(Long value) {
            addCriterion("mobile_area_id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andMobileAreaIdNotEqualTo(Long value) {
            addCriterion("mobile_area_id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria anMobileAreaIdGreaterThan(Long value) {
            addCriterion("mobile_area_id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andMobileAreaIdGreaterThanOrEqualTo(Long value) {
            addCriterion("mobile_area_id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andMobileAreaIdLessThan(Long value) {
            addCriterion("mobile_area_id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andMobileAreaIdLessThanOrEqualTo(Long value) {
            addCriterion("mobile_area_id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andMobileAreaIdIn(List<Long> values) {
            addCriterion("mobile_area_id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andMobileAreaIdNotIn(List<Long> values) {
            addCriterion("mobile_area_id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andMobileAreaIdBetween(Long value1, Long value2) {
            addCriterion("mobile_area_id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andMobileAreaIdNotBetween(Long value1, Long value2) {
            addCriterion("mobile_area_id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andGmtCreateIsNull() {
            addCriterion("gmt_create is null");
            return (Criteria) this;
        }

        public Criteria andGmtCreateIsNotNull() {
            addCriterion("gmt_create is not null");
            return (Criteria) this;
        }

        public Criteria andGmtCreateEqualTo(LocalDate value) {
            addCriterion("gmt_create =", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateNotEqualTo(LocalDate value) {
            addCriterion("gmt_create <>", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateGreaterThan(LocalDate value) {
            addCriterion("gmt_create >", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateGreaterThanOrEqualTo(LocalDate value) {
            addCriterion("gmt_create >=", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateLessThan(LocalDate value) {
            addCriterion("gmt_create <", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateLessThanOrEqualTo(LocalDate value) {
            addCriterion("gmt_create <=", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateIn(List<LocalDate> values) {
            addCriterion("gmt_create in", values, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateNotIn(List<LocalDate> values) {
            addCriterion("gmt_create not in", values, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateBetween(LocalDate value1, LocalDate value2) {
            addCriterion("gmt_create between", value1, value2, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateNotBetween(LocalDate value1, LocalDate value2) {
            addCriterion("gmt_create not between", value1, value2, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedIsNull() {
            addCriterion("gmt_modified is null");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedIsNotNull() {
            addCriterion("gmt_modified is not null");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedEqualTo(LocalDate value) {
            addCriterion("gmt_modified =", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedNotEqualTo(LocalDate value) {
            addCriterion("gmt_modified <>", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedGreaterThan(LocalDate value) {
            addCriterion("gmt_modified >", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedGreaterThanOrEqualTo(LocalDate value) {
            addCriterion("gmt_modified >=", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedLessThan(LocalDate value) {
            addCriterion("gmt_modified <", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedLessThanOrEqualTo(LocalDate value) {
            addCriterion("gmt_modified <=", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedIn(List<LocalDate> values) {
            addCriterion("gmt_modified in", values, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedNotIn(List<LocalDate> values) {
            addCriterion("gmt_modified not in", values, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedBetween(LocalDate value1, LocalDate value2) {
            addCriterion("gmt_modified between", value1, value2, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedNotBetween(LocalDate value1, LocalDate value2) {
            addCriterion("gmt_modified not between", value1, value2, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andPhoneSegmentIsNull() {
            addCriterion("phone_segment is null");
            return (Criteria) this;
        }

        public Criteria andPhoneSegmentIsNotNull() {
            addCriterion("phone_segment is not null");
            return (Criteria) this;
        }

        public Criteria andPhoneSegmentEqualTo(String value) {
            addCriterion("phone_segment =", value, "phoneSegment");
            return (Criteria) this;
        }

        public Criteria andPhoneSegmentNotEqualTo(String value) {
            addCriterion("phone_segment <>", value, "phoneSegment");
            return (Criteria) this;
        }

        public Criteria andPhoneSegmentGreaterThan(String value) {
            addCriterion("phone_segment >", value, "phoneSegment");
            return (Criteria) this;
        }

        public Criteria andPhoneSegmentGreaterThanOrEqualTo(String value) {
            addCriterion("phone_segment >=", value, "phoneSegment");
            return (Criteria) this;
        }

        public Criteria andPhoneSegmentLessThan(String value) {
            addCriterion("phone_segment <", value, "phoneSegment");
            return (Criteria) this;
        }

        public Criteria andPhoneSegmentLessThanOrEqualTo(String value) {
            addCriterion("phone_segment <=", value, "phoneSegment");
            return (Criteria) this;
        }

        public Criteria andPhoneSegmentLike(String value) {
            addCriterion("phone_segment like", value, "phoneSegment");
            return (Criteria) this;
        }

        public Criteria andPhoneSegmentNotLike(String value) {
            addCriterion("phone_segment not like", value, "phoneSegment");
            return (Criteria) this;
        }

        public Criteria andPhoneSegmentIn(List<String> values) {
            addCriterion("phone_segment in", values, "phoneSegment");
            return (Criteria) this;
        }

        public Criteria andPhoneSegmentNotIn(List<String> values) {
            addCriterion("phone_segment not in", values, "phoneSegment");
            return (Criteria) this;
        }

        public Criteria andPhoneSegmentBetween(String value1, String value2) {
            addCriterion("phone_segment between", value1, value2, "phoneSegment");
            return (Criteria) this;
        }

        public Criteria andPhoneSegmentNotBetween(String value1, String value2) {
            addCriterion("phone_segment not between", value1, value2, "phoneSegment");
            return (Criteria) this;
        }

        public Criteria andProvinceIsNull() {
            addCriterion("province is null");
            return (Criteria) this;
        }

        public Criteria andProvinceIsNotNull() {
            addCriterion("province is not null");
            return (Criteria) this;
        }

        public Criteria andProvinceEqualTo(String value) {
            addCriterion("province =", value, "province");
            return (Criteria) this;
        }

        public Criteria andProvinceNotEqualTo(String value) {
            addCriterion("province <>", value, "province");
            return (Criteria) this;
        }

        public Criteria andProvinceGreaterThan(String value) {
            addCriterion("province >", value, "province");
            return (Criteria) this;
        }

        public Criteria andProvinceGreaterThanOrEqualTo(String value) {
            addCriterion("province >=", value, "province");
            return (Criteria) this;
        }

        public Criteria andProvinceLessThan(String value) {
            addCriterion("province <", value, "province");
            return (Criteria) this;
        }

        public Criteria andProvinceLessThanOrEqualTo(String value) {
            addCriterion("province <=", value, "province");
            return (Criteria) this;
        }

        public Criteria andProvinceLike(String value) {
            addCriterion("province like", value, "province");
            return (Criteria) this;
        }

        public Criteria andProvinceNotLike(String value) {
            addCriterion("province not like", value, "province");
            return (Criteria) this;
        }

        public Criteria andProvinceIn(List<String> values) {
            addCriterion("province in", values, "province");
            return (Criteria) this;
        }

        public Criteria andProvinceNotIn(List<String> values) {
            addCriterion("province not in", values, "province");
            return (Criteria) this;
        }

        public Criteria andProvinceBetween(String value1, String value2) {
            addCriterion("province between", value1, value2, "province");
            return (Criteria) this;
        }

        public Criteria andProvinceNotBetween(String value1, String value2) {
            addCriterion("province not between", value1, value2, "province");
            return (Criteria) this;
        }

        public Criteria andCityIsNull() {
            addCriterion("city is null");
            return (Criteria) this;
        }

        public Criteria andCityIsNotNull() {
            addCriterion("city is not null");
            return (Criteria) this;
        }

        public Criteria andCityEqualTo(String value) {
            addCriterion("city =", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityNotEqualTo(String value) {
            addCriterion("city <>", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityGreaterThan(String value) {
            addCriterion("city >", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityGreaterThanOrEqualTo(String value) {
            addCriterion("city >=", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityLessThan(String value) {
            addCriterion("city <", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityLessThanOrEqualTo(String value) {
            addCriterion("city <=", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityLike(String value) {
            addCriterion("city like", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityNotLike(String value) {
            addCriterion("city not like", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityIn(List<String> values) {
            addCriterion("city in", values, "city");
            return (Criteria) this;
        }

        public Criteria andCityNotIn(List<String> values) {
            addCriterion("city not in", values, "city");
            return (Criteria) this;
        }

        public Criteria andCityBetween(String value1, String value2) {
            addCriterion("city between", value1, value2, "city");
            return (Criteria) this;
        }

        public Criteria andCityNotBetween(String value1, String value2) {
            addCriterion("city not between", value1, value2, "city");
            return (Criteria) this;
        }

        public Criteria andServiceProviderIsNull() {
            addCriterion("service_provider is null");
            return (Criteria) this;
        }

        public Criteria andServiceProviderIsNotNull() {
            addCriterion("service_provider is not null");
            return (Criteria) this;
        }

        public Criteria andServiceProviderEqualTo(String value) {
            addCriterion("service_provider =", value, "serviceProvider");
            return (Criteria) this;
        }

        public Criteria andServiceProviderNotEqualTo(String value) {
            addCriterion("service_provider <>", value, "serviceProvider");
            return (Criteria) this;
        }

        public Criteria andServiceProviderGreaterThan(String value) {
            addCriterion("service_provider >", value, "serviceProvider");
            return (Criteria) this;
        }

        public Criteria andServiceProviderGreaterThanOrEqualTo(String value) {
            addCriterion("service_provider >=", value, "serviceProvider");
            return (Criteria) this;
        }

        public Criteria andServiceProviderLessThan(String value) {
            addCriterion("service_provider <", value, "serviceProvider");
            return (Criteria) this;
        }

        public Criteria andServiceProviderLessThanOrEqualTo(String value) {
            addCriterion("service_provider <=", value, "serviceProvider");
            return (Criteria) this;
        }

        public Criteria andServiceProviderLike(String value) {
            addCriterion("service_provider like", value, "serviceProvider");
            return (Criteria) this;
        }

        public Criteria andServiceProviderNotLike(String value) {
            addCriterion("service_provider not like", value, "serviceProvider");
            return (Criteria) this;
        }

        public Criteria andServiceProviderIn(List<String> values) {
            addCriterion("service_provider in", values, "serviceProvider");
            return (Criteria) this;
        }

        public Criteria andServiceProviderNotIn(List<String> values) {
            addCriterion("service_provider not in", values, "serviceProvider");
            return (Criteria) this;
        }

        public Criteria andServiceProviderBetween(String value1, String value2) {
            addCriterion("service_provider between", value1, value2, "serviceProvider");
            return (Criteria) this;
        }

        public Criteria andServiceProviderNotBetween(String value1, String value2) {
            addCriterion("service_provider not between", value1, value2, "serviceProvider");
            return (Criteria) this;
        }

        public Criteria andAreaCodeIsNull() {
            addCriterion("area_code is null");
            return (Criteria) this;
        }

        public Criteria andAreaCodeIsNotNull() {
            addCriterion("area_code is not null");
            return (Criteria) this;
        }

        public Criteria andAreaCodeEqualTo(String value) {
            addCriterion("area_code =", value, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeNotEqualTo(String value) {
            addCriterion("area_code <>", value, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeGreaterThan(String value) {
            addCriterion("area_code >", value, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeGreaterThanOrEqualTo(String value) {
            addCriterion("area_code >=", value, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeLessThan(String value) {
            addCriterion("area_code <", value, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeLessThanOrEqualTo(String value) {
            addCriterion("area_code <=", value, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeLike(String value) {
            addCriterion("area_code like", value, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeNotLike(String value) {
            addCriterion("area_code not like", value, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeIn(List<String> values) {
            addCriterion("area_code in", values, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeNotIn(List<String> values) {
            addCriterion("area_code not in", values, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeBetween(String value1, String value2) {
            addCriterion("area_code between", value1, value2, "areaCode");
            return (Criteria) this;
        }

        public Criteria andAreaCodeNotBetween(String value1, String value2) {
            addCriterion("area_code not between", value1, value2, "areaCode");
            return (Criteria) this;
        }

        public Criteria andPostcodeIsNull() {
            addCriterion("postcode is null");
            return (Criteria) this;
        }

        public Criteria andPostcodeIsNotNull() {
            addCriterion("postcode is not null");
            return (Criteria) this;
        }

        public Criteria andPostcodeEqualTo(String value) {
            addCriterion("postcode =", value, "postcode");
            return (Criteria) this;
        }

        public Criteria andPostcodeNotEqualTo(String value) {
            addCriterion("postcode <>", value, "postcode");
            return (Criteria) this;
        }

        public Criteria andPostcodeGreaterThan(String value) {
            addCriterion("postcode >", value, "postcode");
            return (Criteria) this;
        }

        public Criteria andPostcodeGreaterThanOrEqualTo(String value) {
            addCriterion("postcode >=", value, "postcode");
            return (Criteria) this;
        }

        public Criteria andPostcodeLessThan(String value) {
            addCriterion("postcode <", value, "postcode");
            return (Criteria) this;
        }

        public Criteria andPostcodeLessThanOrEqualTo(String value) {
            addCriterion("postcode <=", value, "postcode");
            return (Criteria) this;
        }

        public Criteria andPostcodeLike(String value) {
            addCriterion("postcode like", value, "postcode");
            return (Criteria) this;
        }

        public Criteria andPostcodeNotLike(String value) {
            addCriterion("postcode not like", value, "postcode");
            return (Criteria) this;
        }

        public Criteria andPostcodeIn(List<String> values) {
            addCriterion("postcode in", values, "postcode");
            return (Criteria) this;
        }

        public Criteria andPostcodeNotIn(List<String> values) {
            addCriterion("postcode not in", values, "postcode");
            return (Criteria) this;
        }

        public Criteria andPostcodeBetween(String value1, String value2) {
            addCriterion("postcode between", value1, value2, "postcode");
            return (Criteria) this;
        }

        public Criteria andPostcodeNotBetween(String value1, String value2) {
            addCriterion("postcode not between", value1, value2, "postcode");
            return (Criteria) this;
        }

    }

    /**
     * This class corresponds to the database table pcl_mobile_area
    */
    public  static class Criteria extends GeneratedCriteria{
        protected Criteria() {
            super();
        }
    }



    @Override
    public String toString(){
        return ReflectionToStringBuilder.toString(this, ToStringStyle.DEFAULT_STYLE);
    }
}